package com.shop.cereshop.commons.domain.im.tx.resp.follow;

import com.google.gson.annotations.SerializedName;
import com.shop.cereshop.commons.domain.im.tx.resp.ImBaseResp;
import lombok.Data;

import java.util.List;

/**
 * 拉取关注、粉丝与互关列表
 */
@Data
public class FollowGetResp extends ImBaseResp {
    @SerializedName("FollowItem")
    List<FollowGet> FollowItem;
    /**
     * 下一页的起始位置，为空时表示已拉到全量数据。
     */
    @SerializedName("NextCursor")
    private String NextCursor;

    @Data
    public static class FollowGet {
        /**
         * {
         *       "To_Account": "UserID_002",
         *       "FollowTime": 1702262118,
         *       "ProfileItem": [
         *         {
         *           "Tag": "Tag_Profile_IM_Nick",
         *           "Value": "NickNameTest2"
         *         },
         *         {
         *           "Tag": "Tag_Profile_IM_AllowType",
         *           "Value": "AllowType_Type_DenyAny"
         *         },
         *         {
         *           "Tag": "Tag_Profile_IM_SelfSignature",
         *           "Value": "I'm Test2"
         *         },
         *         {
         *           "Tag": "Tag_Profile_Custom_Test",
         *           "Value": "Custom Data2"
         *         }
         *       ],
         *       "profile_sequence": 123
         *     }
         */
        /**
         * 粉丝/关注/互关的用户的 UserID。
         */
        @SerializedName("To_Account")
        private String To_Account;
        /**
         * 关注时间。
         */
        @SerializedName("FollowTime")
        private Integer FollowTime;
    }

    // //重写tostring 父类属性也要实现
    @Override
    public String toString() {
        return "FollowGetResp{" +
                "ActionStatus='" + getActionStatus() + '\'' +
                ", ErrorCode=" + getErrorCode() +
                ", ErrorInfo='" + getErrorInfo() + '\'' +
                ", FollowItem=" + FollowItem +
                ", NextCursor='" + NextCursor + '\'' +
                '}';
    }

}
